#ifndef VIRMACHINETOOL_H
#define VIRMACHINETOOL_H

#include <QObject>
#include <functional>
#include "mytypes.h"

class VirmachineTool final:public QObject
{
    Q_OBJECT
public:
    static VirmachineTool* GetInstance(QObject* parent=nullptr);
    virtual ~VirmachineTool();

    std::function<void()> GetToolFunction(Yzty::VirMachineToolCode code);

private:
    explicit VirmachineTool(QObject* parent=nullptr);
    static VirmachineTool* _instance;
};

#endif // VIRMACHINETOOL_H
